<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 人
    function Person(name, age) {
      this.name = name
      this.age = age
    }

    Person.prototype.show = function () {
      console.log('Hello World')
    }

    // 人
    // Call 式继承 => 继承的是属性
    function Star(name, age) {
      Person.call(this, name, age)
    }

    /* // 实例 p 上面啥都有 => name、age、show
    const p = new Person()
    // 你把一个啥都有的东西给了 Star.prototype，所以 Start.prototype 上面也啥都有（name、age、show）
    Star.prototype = p */
    // 原型继承：继承的是方法
    Star.prototype = new Person()
    Star.prototype.constructor = Star;

    const ldh = new Star('刘德华', 60)
    // 命名 ldh 是通过 Star 造出来的，应该来说 ldh.constructor 应该指向 Star，但是确实 false
    console.log(Star.prototype.constructor === Star)
  </script>
</body>

</html>